A tree structure is a way of representing hierarchically organized information in a graphical form. The term “tree structure” refers to the resemblance of such a representation to a tree, although the graph is generally inverted compared to an actual tree, with the “root” at the top and the “leaves” at the bottom. In computer science, a tree is often used as a hierarchical data structure, with a root node and multiple generations of nested child nodes, represented as a tree of linked nodes. In this context, a tree structure can be thought of as a collection of nodes (starting at a root node), where each node typically consists of a value (data), a list of references to its child nodes (if any), and a reference to its parent-node (only the root node has no parent). Tree hierarchies can be used to represent, store and/or navigate any type of hierarchically arranged data.
Graphical navigation tools for tree hierarchies are useful, but when a tree has many (e.g., thousands) of levels and/or nodes per level, the user can easily lose track of the context of the nodes being viewed within the tree as a whole. Because the viewable area of even a very large screen is not sufficient to display the whole tree at once, users are typically restricted to seeing a subset of the nodes, including the nodes at the level that is currently being examined (the nodes at this level can be said to be “in focus” or to “have the focus” or to be the “focus” level). With information only being displayed for the nodes at the level “in focus” and typically a few adjacent levels depending upon available screen space, the user tends to lose track of the relationship of the nodes at the focus level to those nodes and levels of the tree that are not currently depicted on the screen. Although some tools provide summary information at the top most level, when the tree is sufficiently deep and/or a current level has a sufficient number of nodes, the context is still lost, since the user can only see the nodes which are currently displayed on the screen.
It would be desirable to address these issues.